package re_0905.question_queue;

public interface MoterQueue<T> {
    /**
     * 添加 添加失败抛出异常
     * @param t
     */
    Boolean add(T t);

    /**
     * 如果队列为空返回null
     * @return
     */
    T peek();

    /**
     * 添加失败返回false
     * @param t
     * @return
     */
    Boolean offer(T t);

    /**
     * 如果队列为空返回null
     * @return
     */
    T poll();

    /**
     * 如果队列为空，抛出异常
     * @return
     */
    T remove();

    /**
     * 如果队列为空，抛出异常
     * @return
     */
    T element();
}
